<?php namespace Home\Controller;
use Hdphp\Controller\Controller;
//订单控制器
class OrderController extends Controller{
	public function __init(){
		//调用CommonController里面的构造函数
		parent::__init();
	    //实例化cate模型
	}
	//订单展示页
	public function index(){
//		p($_SESSION);
//		p($_GET);exit;
		//截取get获得的数据
		$arr=rtrim($_GET['sids'],',');
		//通过get获得当前的商品并拆分成数组;
		$getdata=explode(',',$arr);
//		P($getdata);
		//获得购物车里的所有数据
		$data=Cart::getAllData();
		//实例化商品属性表
		$goodsAttrModel=new \Common\Model\Goodsattr;
		foreach ($data['goods'] as $k => $v) {
			foreach ($v['options'] as $kk => $vv) {
				//循环获得尺码或者颜色
				$data['goods'][$k]['options'][$kk]=$goodsAttrModel->where("gaid",$vv)->pluck('gtvalue');
			}
		}
//		p($data);
		$newData=array();
		//循环重组数组
		foreach ($getdata as $v) {
			if($v){
				//组合好的购物车数据压入到新数组中
				$newData[]=$data['goods'][$v];
			}
		}
//		p($newData);exit;
		View::with('newData',$newData);
		//如果没登录
		if(!isset($_SESSION['uemail']) || !isset($_SESSION['uid'])){
			//跳转到登录控制器
			go(U('Login/index'));
		}
		//实例化地址模型
		$addressModel=new \Common\Model\Address;
		//获得用户表的主键
		$uid=$_SESSION['uid'];
		//获得地址表里的所有数据
		$addressData=$addressModel->where("user_uid={$uid}")->get();
		//分配变量
		View::with('addressData',$addressData);
	    View::make();
	}
	//添加订单或订单列表的方法
	public function addorder(){
		//获得地址表的主键
		$adid=$_POST['adid'];
		//截取post提交过来的sids数据
		$arr=rtrim($_POST['sids'],',');
		//组合成数组
		$postData=explode(',', $arr);
		//获得购物车里的所有数据
		$data=Cart::getAllData();
		//获得购物订单号
		$orderdatahao=Cart::getOrderId();
		//实例化商品属性表
		$goodsAttrModel=new \Common\Model\Goodsattr;
		foreach ($data['goods'] as $k => $v) {
			foreach ($v['options'] as $kk => $vv) {
				//循环获得尺码或者颜色
				$data['goods'][$k]['options'][$kk]=$goodsAttrModel->where("gaid",$vv)->pluck('gtvalue');
			}
		}
		//给一个空数组
		$newData=array();
		//循环重组sids数据数组
		foreach ($postData as $v) {
			if($v){
				//组合好的购物车数据压入到新数组中
				$newData[]=$data['goods'][$v];
				//获得user_uid
				$uid=$v['id'];
			}
		}
		//获得价格总计
		$total=0;
		foreach ($newData as $k => $v) {
			//循环价格相加
			$total+=$v['total'];
		}
		//实例化地址表
		$addressModel=new \Common\Model\Address;
		//获得地址表中的数据
		$addressData=$addressModel->where("adid={$adid}")->find();
		//获得收货人
		$consignee=$addressData['aconsignee'];
		//获得收货地址
		$address=$addressData['addetail'];
		//获得生成时间
		$time=time();
		//重组数组压入订单表
		$orderData=array(
			'onumber'=>$orderdatahao,
			'consignee'=>$consignee,
			'address'=>$address,
			'total'=>$total,
			'risetime'=>$time,
			'status'=>'待付款',
			'user_uid'=>$uid
		);
		//实例化订单表
		$addressModel=new \Common\Model\Order;
		//添加数据到订单表
		$orderData=$addressModel->add($orderData);
		p($orderData);
	}
	
}



 ?>